// 接雨水
// //计算出每个柱子能接多少水
// //Math.min(l_max,r_max)-height[i]
// let height = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]
// //let height = [4, 2, 0, 3, 2, 5]
// var trap = function (height) {
//     if (height.length == 0) {
//         return 0
//     }
//     let n = height.length
//     let l_max = []
//     let r_max = []
//     l_max[0] = height[0]
//     r_max[n - 1] = height[n - 1]
//     let res = 0
//     for (let i = 1; i < n; i++) {
//         l_max[i] = Math.max(l_max[i-1], height[i])
//     }
//     for (let j = n - 2; j >= 0; j--) {
//         r_max[j] = Math.max(r_max[j+1], height[j])
//     }
//     console.log(l_max,"====l");
//     console.log(r_max,"====r");
//     for (let i = 0; i < n - 1; i++) {
//         res += Math.min(l_max[i], r_max[i]) - height[i]

//     }
//     // console.log(res,"=====");

// };
// trap(height)

//min(左高，右高)-自高
let left = 0;
let right = height.length - 1;
let leftMax = 0,
  rightMax = 0;
let sum = 0;
while (left < right) {
  if (height[left] <= height[right]) {
    leftMax = Math.max(height[left], leftMax);
    sum += leftMax - height[left];
    left++;
  } else {
    rightMax = Math.max(height[right], rightMax);
    sum += leftMax - height[right];
    right--;
  }
}
return sum
